home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / pdcurs21.zip / DOC.ZIP / OVERVIEW.MAN < prev    next >
Text File  |  1992-11-21  |  3KB  |  61 lines

  1. /*man-start*********************************************************************
  2.  
  3.                        Curses Overview
  4.  
  5. The X/Open Curses Interface Definition describes a set of C-Language
  6. functions that provide screen-handling and updating, which are
  7. collectively known as the curses library.
  8.  
  9. The curses library permits manipulation of data structures called
  10. windows which may be thought of as two-dimensional arrays of
  11. characters representing all or part of a terminal's screen.  The
  12. windows are manipulated using a procedural interface described
  13. elsewhere.  The curses package maintains a record of what characters
  14. are on the screen.  At the most basic level, manipulation is done with
  15. the routines move() and addch() which are used to "move" the curses
  16. around and add characters to the default window, stdscr, which
  17. represents the whole screen.
  18.  
  19. An application may use these routines to add data to the window in any
  20. convenient order.  Once all data have been added, the routine
  21. refresh() is called.  The package then determines what changes have
  22. been made which affect the screen.  The screen contents are then
  23. changed to reflect those characters now in the window. using a
  24. sequence of operations optimised for the type of terminal in use. 
  25.  
  26. At a higher level routines combining the actions of move() and addch()
  27. are defined, as are routines to add whole strings and to perform
  28. format conversions in the manner of printf(). 
  29.  
  30. Interfaces are alse defined to erase the entire window and to specify
  31. the attributes of individual characters in the winodw.  Attributes
  32. such as inverse video, underline and blink can be used on a
  33. per-character basis. 
  34.  
  35. New windows can be created by allowing the application to build
  36. several images of the screen and display the appropriate one very
  37. quickly.  New windows are created using the routine newwin().  For
  38. each routine that manipulates the default window, stdscr, there is a
  39. corresponding routine prefixed with w to manipulate the contents of a
  40. specified window; for example, move() and wmove().  In fact, move(...)
  41. is functionally equivalent to wmove( stdscr, ...).  This is similar to
  42. the interface offered by printf(...) and fprintf(stdout, ...). 
  43.  
  44. Windows do not have to correspond to the entire screen.  It is
  45. possible to create smaller windows, and also to indicate that the
  46. window is only partially visible on the screen.  Furthermore, large
  47. windows or pads, which are bigger than the actual screen size, may be
  48. created. 
  49.  
  50. The routine newterm() may be called to "open" additional terminals by
  51. large applications wishing to manipulate several terminals at once.
  52. The set_term() function is used to select the terminal whose screen is
  53. to be updated by the next refresh(). 
  54.  
  55. Interfaces are also defined to allow input character manipulation and
  56. to disable and enable many input attributes: character echo, single
  57. character input with or without signal processing (cbreak or raw
  58. modes), carriage returns mapping to newlines, screen scrolling, etc. 
  59.  
  60. **man-end**********************************************************************/
  61.